Student Electronic Support Introduction to the Personal Software Process by Watts S. Humphrey This document is the read-me file for the electronic support materials for Introduction to the Personal Software Process by Watts S. Humphrey. It describes the items in this file and their purpose, and it gives some hints on how to use them. Contents and Purpose Formats. The text is in Word 6.0 for Windows 3.1 and the spreadsheets are in Excel 4.0 for Windows 3.1. This ReadMe document is also provided as a text file. Weeks The Weeks file contains a spreadsheet for each of 15 weeks. When you enter the time data for each week, the spreadsheet calculates the average, maximum, and minimum weekly times for each task. The Graphs spreadsheet contains charts that show your time data for these weeks. These spreadsheets simplify the job of entering time data and calculating time distributions. The instructions for the weeks spreadsheets are contained on those spreadsheets. If you enter the times for each task every day from your daily time log, you will be able to correct most mistakes and omissions. Maintaining running totals for each week will also help you to better plan and manage your time. To track your weekly time for a second 15-week period, create a new Weeks file and rename it Weeks2. If you wish to carry over the rates from Weeks to Weeks2, find the number of weeks and the Total, Avg., Max., and Min. times for each task type from Current Weekís Times in week15 in Weeks. Enter these data in the Base spreadsheet in Weeks2. JobNo The JobNo spreadsheet provides the data to make an informed decision about the times and rates for your next job. It contains data for each of up to 100 jobs of four different types. The spreadsheet then automatically generates a running record of the average, maximum, and minimum rates for each process type. The spreadsheet also plots a graph for each process type showing the average, maximum, and minimum rates as well as the rates for each completed job. In the JobNo spreadsheet, job numbers are automatically assigned. You need to enter the process type for each product-like task, the planned time, and the planned units. When you have completed the task, enter the actual times and units. The spreadsheet will then automatically generate the summary data at the top of the spreadsheet. This provides a quick overview of the times and rates for each task. In planning a new task, pay particular attention to the spread between the maximum and minimum rates. If this spread is wide, I suggest you look at the graph for that process type to see where the bulk of your previous projects has fallen. You can then examine the data for these jobs to see which are similar to the job you plan. To record data on more than 100 jobs, make a new copy of the JobNo spreadsheet and label it JobNo2. Find the TD (To Date) unit and time data for each process type from the Job Summary on JobNo. Enter these data in the Actual Minutes and Actual Units spaces for jobs 1, 2, 3, and 4 in JobNo2. Also enter the process types for these jobs. Finally , relabel job number 1 as job 97. The new jobs in JobNo2 will then start with job number 101. Note that you will have to unlock and relock the spreadsheet to change job number 1. Program1 The Program1 file contains a spreadsheet with a Project Plan Summary form for up to 10 PSP programs written during the first semester. This spreadsheet simplifies the planning and data entry for each program. Most of the calculations are completed automatically by the spreadsheet. Before starting development, estimate and enter the program New & Changed LOC and the Maximum and Minimum program size. For the first program, also estimate and enter the number of minutes you expect the development to take. The spreadsheet then calculates the LOC/hour, the Minutes/LOC, and the Max. and Min. development times. In planning the second and later programs, the Minutes/LOC are automatically taken as the actual rate for the previous program and used to calculate the Plan total development time. After developing each program, enter the actual size, time, and defect data and the rest of th form will be completed automatically If you disagree with any of the automatically-calculated plan numbers, unlock the spreadsheet and enter the values you prefer The Graphs spreadsheet contains 4 charts of program development data. By examining these charts, you can see how your programming development performance ha sevolved through the semester Program2 The Program2 file contains a spreadsheet with a Project Plan Summary form for up to 10 PSP programs written in the second semester. These Project Plan Summaries are substantially more complex than those in Program1 and they provide significantly more data for planning and tracking your work. As with Program1, the Program2 spreadsheets simplify the planning and tracking of the work for each program. Most of the calculations are completed automatically. As before, first estimate the program New & Changed LOC and the Maximum and Minimum program size. The spreadsheet then calculates all the remaining Plan values on the Project Plan Summary. When planning the first program, enter the number of minutes you expect the development to take. You will also need to estimate the time you will spend by phase and the numbers of defects you will inject and remove by phase. Since you will have no data on which to base these estimates, you will have to make your best guess. In planning the second and later programs, the Minutes/LOC are automatically taken as the average rate for all the programs developed so far in the semester. Also, the distribution of development time and the numbers of defects injected and removed per phase are calculated based on the average rates for the programs developed so far in the semester. If you disagree with any of the automatically-calculated plan numbers, unlock the spreadsheet and enter the values you prefer. After developing a program, enter the actual size, time, and defect data and the rest of the summary form will be completed automatically. The Graphs spreadsheet for Program2 contains 8 charts showing program development data. By examining these charts, you can see how your programming development performance has evolved through the semester. Assignment Kits The assignment kits provide the forms and problem descriptions for the assignments that accompany this course. They are included to provide you with a single source for the assignment specifications, completed examples, and required forms. These are copies of the materials provided to your instructor to hand out in class for each assignment. They are provided in case you missed any of these materials or if you want to work ahead of the class. They are also provided for any engineers who wish to work through this textbook on their own. Spreadsheet protection These spreadsheets are all protected. This means that you cannot accidentally change the formulas or other data. The protected areas in the spreadsheets are shaded. If you attempt to make changes in the shaded cells, you will be stopped and alerted by the system. Note, however, that the charts have been left unprotected. You thus may double click on any chart to print it on a single page. You may also print the charts two per page without unlocking the spreadsheet. To make a change in a protected part of a spreadsheet, click "Unprotect Document" in the Options menu. This will unprotect all the cells in the document so you can make any changes you wish. When you are through, you should reprotect the document. Do this by clicking "Protect Document" on the Options menu. Next, to ensure that the charts remain unprotected, click on the Objects box to remove the x. Then click OK. Do not enter a password, however, as that would require you to use the same password in the future to unprotect the document. Leave the Password space blank and merely click OK. PAGE4 Copyright 1997, Watts S. Humphrey Special permission to reproduce and distribute the Instructor's Guide Package for Introduction to the Personal Software Process, (c) 1997 by Carnegie Mellon University, for use by instructors for educational or training purposes, is granted by the Software Engineering Institute. All other uses of this copyrighted material require additional permission from the SEI Licensing Agent, Software Engineering Institute, 4500 Fifth Avenue, Carnegie Mellon University, Pittsburgh PA 15213-3890. Personal Software Process (SM) and PSP (SM) are service marks of Carnegie Mellon University.